home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso / 0071 / _setup.1 / SAMPLES.TXT < prev    next >
Text File  |  1997-02-11  |  11KB  |  270 lines

  1. ++++++++++++++++++++++++++++++++++++++++++++++
  2. +  WINDOWS PLATFORM                          +
  3. +                         +    
  4. +  SOURCE CODE EXAMPLES TO CHANGE SOFTWARE   +
  5. +                                            +
  6. ++++++++++++++++++++++++++++++++++++++++++++++
  7.  
  8.  
  9. +-- DISCLAIMER PLEASE READ: ------------------------------------+
  10. +                                +
  11. +  The following source is provided "as is" without warranty    +
  12. +  of any kind, either expressed or implied, including but not    +
  13. +  limited to the implied warranties or merchantibility and    +
  14. +  fitness for a particular purpose. The entire risk as to the    +
  15. +  quality and performance of the program is with you.        +
  16. +                                +
  17. +  You have a royalty-free right to use, modify, and reproduce    +
  18. +  the Sample Source Code exmaples in any way you find useful,    +
  19. +  provided that you agree that StanBrite Software has no    +
  20. +  warranty, obligations or liability for any Sample Source    +
  21. +  Code examples.                        +
  22. +                                +
  23. +---------------------------------------------------------------+
  24.  
  25.  
  26. 1.  Change source code of your software (or document/database).
  27.  
  28.     You need to add some lines of code to your program.
  29.     See text below of our "DEMO.C".
  30.     Please visit our Web Page Site at "http://www.stanbrite.com"  and
  31.     you will find examples of how to use DLL functions in different
  32.     programming languages:
  33.     Visial Basic
  34.     Visual C++
  35.     Borland C
  36.     MS ACCESS
  37.     MS WORD
  38.     DELPHI
  39.     etc.
  40.     
  41.     Use the following function to make a registration process :
  42.  
  43.     CodeReturn = ReminderScreen ("DemoUser", "REMINDER.VLD", "")
  44.  
  45.     where:
  46.     "DemoUser"     - the Keyword that has been inserted in the 
  47.                  REMINDER.VLD file
  48.     "REMINDER.VLD" - VLD file name
  49.     ""             - Product Name in the REMINDER.VLD file
  50.  
  51.     CodeReturn     - code return (As Integer)
  52.              = 2    Start in Real mode (no restrictions)
  53.              = 3    Start in Real Mode (restrictions exist)        
  54.              = 4    Start in Demo mode
  55.              = 6    Quit button has been pushed
  56.  
  57. 2.  Use REMINDER.DLL for 16 bit and REMIND32.DLL for 32 bit
  58.     applications.
  59.  
  60. 3. Below you will find source code of the DEMO.EXE program in C language.
  61.  
  62.             ***********************
  63.                 ***************
  64.                                    *   
  65.  
  66. === DEMO.DEF ==========================================================
  67.  
  68. NAME           DEMO
  69. DESCRIPTION    'StanBrite SOFTWARE <C> 1994-1996'
  70. EXETYPE        WINDOWS
  71. CODE           PRELOAD MOVEABLE
  72. DATA           PRELOAD MOVEABLE MULTIPLE
  73. SEGMENTS       WM_TEXT LOADONCALL
  74. HEAPSIZE       1024
  75. STACKSIZE      5120
  76.  
  77. IMPORTS        REMINDER.REMINDERSCREEN
  78.  
  79.  
  80.  
  81.  
  82. === DEMO.H ==========================================================
  83. /*
  84. *********************************************************
  85. *                                                       *
  86. * Registration Manager                                  *
  87. *                                                       *
  88. * (Description of DLL functions)                        *
  89. *                                                       *
  90. * Copyright StanBrite SOFTWARE.                         *
  91. * All rights reserved.                                  *
  92. * 1994 - 1997                                           *
  93. *                                                       *
  94. *********************************************************
  95. */
  96.  
  97. /*
  98. **********************
  99. * Code return values *
  100. **********************
  101. */
  102. #define START_OK                2       /* Start in Real mode and
  103.                                            No Reminder screen */
  104. #define REMINDER_START          3       /* Show the Reminder screen and
  105.                                            Start in Real mode
  106.                                            (prevalidation option) */
  107. #define REMINDER_START_DEMO     4       /* Show the Reminder screen and
  108.                                            Start in Demo mode */
  109. #define REMINDER_NO_START       5       /* Show the Reminder screen and
  110.                                            No Start */
  111. #define STOP_OK                 6       /* Quit button has been pushed */
  112.  
  113. /*
  114. **********************************************************
  115.  REMINDER SCREEN DLL (Shows all registration process)
  116.  
  117.  Input:
  118.     Keyword     - Keyword to run the function
  119.                   Example: "My_Keyword"
  120.     VldFile     - Path and name of the validation file
  121.                   Example: "c:\mydir\myfile.vld"
  122.     TitleName   - Title Name (30 characters)
  123.                           Example: "My title of my software"
  124.  Process:
  125.         checks VLD file:
  126.     a.  If not registered, then provides step by step
  127.         whole registration process.
  128.     b.  if prevalidation restrictions exists, then
  129.         shows a notice screen about expiration,
  130.         decreases restrictions.
  131.     c.  if registered with restrictions, then
  132.         shows a notice screen about experation,
  133.         decreases restrictions.
  134.     d.  if registered without restrictions, then returns
  135.         the code - START_OK
  136.  
  137.  Output:
  138.         see values of the code return above.
  139.  
  140. **********************************************************
  141. */
  142. int FAR PASCAL _export ReminderScreen (LPSTR Keyword,
  143.                                        LPSTR VldFile,
  144.                                        LPSTR TitleName);
  145.  
  146.  
  147. === DEMO.C ==========================================================
  148.  
  149. #include <windows.h>    /* Window's header file - always included */
  150. #include <stdlib.h>
  151. #include <string.h>
  152. #include <dir.h>
  153. #include "DEMO.H"    /* Parameters for REMINDER.DLL-REMIND32.DLL */
  154.  
  155. long FAR PASCAL _export WndProc (HWND hWndProc, unsigned int wMessage,
  156.                                  unsigned int wParam, LONG lParam);
  157.  
  158. /*
  159. ******************************************************************
  160.  This is a demo program which shows all registration process
  161. ******************************************************************
  162. */
  163. int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpszCmdLine,
  164.                     int nCmdShow)
  165. {
  166.         MSG      msg;
  167.         WNDCLASS wndclass;       /* window class structure */
  168.         int      codeRet;
  169.         HWND     hWndParent;
  170.         char     vldname [255];
  171.  
  172.         if (!hPrevInstance)
  173.             {
  174.             wndclass.style              = CS_HREDRAW | CS_VREDRAW;
  175.             wndclass.lpfnWndProc        = WndProc;
  176.             wndclass.cbClsExtra         = 0;
  177.             wndclass.cbWndExtra         = 0;
  178.             wndclass.hInstance          = hInstance;
  179.             wndclass.hIcon              = NULL;
  180.             wndclass.hCursor            = LoadCursor (NULL,IDC_ARROW);
  181.             wndclass.hbrBackground      = GetStockObject (LTGRAY_BRUSH);
  182.             wndclass.lpszMenuName       = "MyMenu";
  183.             wndclass.lpszClassName      = "MyClass";
  184.  
  185.             /* register the new window class */
  186.             if (!RegisterClass (&wndclass))
  187.                 return (0);            /* quit if can't register class */
  188.             }
  189.  
  190.         /* Create main windows */
  191.         hWndParent = CreateWindow ("MyClass",
  192.                                    "Demo of Remote Control Validation",
  193.                                    WS_OVERLAPPEDWINDOW,
  194.                                    CW_USEDEFAULT,    // Default horizontal pozition.
  195.                                    CW_USEDEFAULT,    // Default vertical pozition
  196.                                    CW_USEDEFAULT,    // Default wigth.
  197.                                    CW_USEDEFAULT,    // Default height.
  198.                                    NULL,             // Overlapped windows have no parents.
  199.                                    NULL,             // Use the window class menu.
  200.                                    hInstance,        // This unstance owns this window.
  201.                                    NULL);            // Pointer not needed.
  202.         /*
  203.         ************************************************
  204.         Check for the configuration file
  205.         (you may use this code in your application)
  206.         ************************************************
  207.         */
  208.         codeRet = ReminderScreen ("DemoUser", "REMINDER.VLD", "");
  209.         ShowWindow (hWndParent, nCmdShow); // display the window
  210.  
  211.         if (codeRet == STOP_OK)
  212.             /* Quit button has been pushed */
  213.             MessageBox (hWndParent,
  214.                         "QUIT button has been pushed",
  215.                         "OK",
  216.                         MB_OK | MB_ICONEXCLAMATION);
  217.         else
  218.         if (codeRet == REMINDER_START)
  219.             /* The app can be started in REAL mode  (prevalidation mode) */
  220.             MessageBox (hWndParent,
  221.                         "PREVALIDATION MODE",
  222.                         "OK",
  223.                         MB_OK | MB_ICONEXCLAMATION);
  224.         else
  225.         if (codeRet == REMINDER_START_DEMO)
  226.             /* The app can be started in DEMO mode */
  227.             MessageBox (hWndParent,
  228.                         "DEMO MODE",
  229.                         "OK",
  230.                         MB_OK | MB_ICONEXCLAMATION);
  231.         else
  232.         if (codeRet == START_OK)
  233.             /* The app can be started in REAL mode */
  234.             MessageBox (hWndParent,
  235.                         "REAL MODE",
  236.                         "OK",
  237.                         MB_OK | MB_ICONEXCLAMATION);
  238.         else
  239.         MessageBox (hWndParent,
  240.                 "YOU MUST REGISTER THE PROGRAM",
  241.                 "REGISTRATION REQUIRED",
  242.                 MB_OK | MB_ICONEXCLAMATION);
  243.  
  244.  
  245.         while (GetMessage (&msg, NULL, 0, 0))     /* message loop */
  246.                {
  247.                TranslateMessage (&msg); /* translate keyboard message */
  248.                DispatchMessage (&msg);  /* send message to WndProc () */
  249.                }
  250.         return (msg.wParam);    /* quit */
  251. }
  252.  
  253. /* WndProc () is a custom function for processing messages from Windows */
  254. long FAR PASCAL _export WndProc (HWND hWndProc, unsigned int wMessage,
  255.                                  unsigned int wParam, LONG lParam)
  256. {
  257.         switch (wMessage)       /* process windows messages */
  258.                 {
  259.                 case WM_DESTROY:          /* stop application */
  260.                         PostQuitMessage (0); /* this will exit message loop */
  261.                         break;
  262.                 default:        /* default windows message processing */
  263.                         return DefWindowProc (hWndProc, wMessage, wParam, lParam);
  264.                 }
  265.         return (0L);
  266. }
  267.  
  268.  
  269. -------------------------------------------
  270. End of file.